package com.example.democlient.service;

import com.example.democlient.controller.service.impl.HelloRemoteHystrix;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author Easettke
 * @version 1.0
 * @date 2019/8/4 23:13
 * FeignClient name ----及spring.application.name配置的名称
 * fallback ----类添加指定fallback类，在服务熔断的时候返回fallback类中的内容。
 */
@FeignClient(name = "spring-cloud-producer-server", fallback = HelloRemoteHystrix.class)
public interface HelloRemote {

    /**
     * name---应该和服务提供者方法名和参数需保持一致。
     *
     * @param name 为controller传递过来的参数
     * @return 返回远程服务提供的数据
     */
    @GetMapping(value = "/index")
    String hello(@RequestParam(value = "name") String name);

}
